﻿/* MovieClip con dimensiones personalizadas
 * Recordar que no es posible redefinir las propiedades _width y _height de MovieClip.
 */
class MovieClipDimensionesPersonalizadasWrapper {
	public static function wrap(ref:MovieClip) {
		/* Recordar que en funciones añadidas dinámicamente a un objeto, cualquier propiedad
		 * propia del objeto en cuestión se debe referenciar mediante this
		 * si no, va a buscar la propiedad del objeto que está haciendo el añadido:
		 *
		 * Línea de tiempo que instancia InicioForma (tiene propiedad _xscale) -> ...
		 * ... -> objeto al cual se le añaden las propiedades (también tiene _xscale, referenciarla mediante this)
		 */
		ref.addProperty("_width2", function() {return this["area"]._width * this._xscale / 100;}, null);
		ref.addProperty("_height2", function() {return this["area"]._height * this._yscale / 100;}, null);
		// xMinX: xMin (1) con respecto al origen del propio objeto, (2) a su vez con respecto al sistema de referencia del _parent
		ref.addProperty("xMinX", function() {return this["area"]._x /* (1) */ * this._xscale / 100 /* (2) */;}, null);
		// yMinY: yMin (1) con respecto al origen del propio objeto, (2) a su vez con respecto al sistema de referencia del _parent
		ref.addProperty("yMinY", function() {return this["area"]._y /* (1) */ * this._yscale / 100 /* (2) */;}, null);

		ref.addProperty("xMin2", function() {return this["area"]._x;}, null);
		ref.addProperty("yMin2", function() {return this["area"]._y;}, null);
	}
}